iT邦幫忙

2026 iThome 鐵人賽

DAY 8
0
IT Operation

從前後端踏上 AWS 雲端架構勇者之路系列 第 8

你知道你上網有兩個 IP 嗎?進 AWS 前先搞懂家裡的網路

  • 分享至 

  • xImage
  •  

主機要放哪?先從家裡的網路講起

把權限講完後,今天來分享 IP,這會關係到你要怎麼規劃自己的主機網路架構~

我們之前的 Web 1、Web 2 要放進東京 Region,之後還有資料庫。但在 AWS 上,主機不是憑空放著,它得放網路裡面
資ㄔ
「網路」為啥藥學?程式跑得起來就好,中間怎麼連過去沒花時間摸還真的不知道背後做了啥事。這篇前半先不急著開 AWS,我們先把你家裡那台分享器在做什麼搞懂

後半你會發現,AWS 只是把那台分享器拆成幾個零件而已~

電腦的 IP 位址長什麼樣?

兩台電腦要互傳資料,得先知道對方在哪~

IP 是電腦的位址:電腦 A 的 IP 是 192.168.1.23,電腦 B 是 192.168.1.24,兩台互傳資料;同一個網路裡 IP 不能重複

同一個網路裡,兩台電腦不能用同一個 IP,不然資料不知道要送給誰。上圖兩台就只差最後一格

寫前端的人一定打過 localhost:3000localhost:5173。那個 localhost 就是「我自己這台電腦」的代號,它真正的 IP 是 127.0.0.1,你打 127.0.0.1:3000 一樣會開。冒號後面的 3000 是「這台電腦上的哪個程式」

家裡的號碼,跟對外的號碼

回到剛才那個坑。你上網其實牽涉兩個 IP 號碼:電腦自己一個,還有你家對外的 IP

家裡的號碼跟對外的號碼:家裡的筆電、手機、平板各有一個內部 IP 192.168.1.23、24、25,全部接到分享器;分享器對外只有一個公有 IP 203.0.113.8(範例),連到 Internet

家裡的筆電、手機、平板,每一台都從分享器拿到一個號碼,像是192.168.1.23192.168.1.24 這種,我們會記做內部 IP。點開電腦的 Wi-Fi 設定也同時可以看到

不過整個家對外只有一個 IP號碼。打開 https://checkip.amazonaws.com,他就會顯示你家對外的公有 IP,全家共用這一個。你用手機連上分享器開同一個網頁,印出來也會是同一組

所以外面的人只看得到你家的公有 IP,看不到你的筆電。分享器擋在中間,資料進出都是它幫你轉的

你的筆電送出去的時候,它記下「這筆是筆電送的」,回來的資料就照紀錄送回筆電,不會送到手機

反過來,內部 IP 出了家門也同時沒人可以認得。你如果把 192.168.1.23 告訴朋友,他會覺得你在開玩笑XD,因為他從他家連不到你

講到這裡,你可能會想說:「千萬個家都用 192.168.1.x,不會撞到嗎?」

不會,全世界有個協定,有三段號碼只可以當內部 IP 用,像是:

  1. 10.x.x.x(公司內部網路、雲端常用,AWS 文件的例子多半用這段)
  2. 172.16.x.x172.31.x.x(部分公司內部網路)
  3. 192.168.x.x(家用分享器)

如果 checkip 印出來是一長串夾著冒號的東西,代表你這條線走的是 IPv6。這系列講的 IP 都是四格數字那種,也就是 IPv4

分享器怎麼決定資料往哪走?

分享器其實做三件事:發內部 IP 給每台裝置、決定資料往哪走、用它那一個公有 IP 當代表

繼續延伸這個主題,假使你的筆電要傳資料給家裡的平板,跟要傳資料給 Google,分享器怎麼知道要往哪送勒?

https://ithelp.ithome.com.tw/upload/images/20260920/20040221WiDWFfDXKO.png

它靠一張表,這篇叫它路由表(routing table)。表裡只有兩行:目的地開頭是 192.168.1 的,也就是家裡的,直接送到那台;其他所有地方,全部往對外那條線送

聊到這裡你應該很無言,明明是要講 AWS,為啥鋪梗講了那麼多 AWS,原因是在**AWS 上要搞這些事情,就是要把這台分享器拆成零件,一個一個自己建的XD **

來介紹 IP 格式

回到你家。分享器發號碼給每台裝置不是亂發的,永遠是 192.168.1. 開頭,只有最後一格會變:0 到 255 共 256 個號碼,分享器實際只發 1 到 254。所以你家所有裝置的號碼,可以寫成一行:192.168.1.x

這種「前面一樣、後面隨便填」的一群號碼,網路的人有一種正式寫法,叫 CIDR192.168.1.0/24。x 的位置填 0,然後在後面加一個斜線和數字

斜線後面的數字,講的是前面有幾格被固定住/24 是固定前三格,所以只剩最後一格是 x。為什麼三格叫 24 不叫 3?

因為每一格能填 0 到 255,共 256 種,電腦要用 8 個 0 和 1 才寫得下,所以一格算 8。三格就是 24,四格全部就是 32。固定得越多,範圍就越小

下面這張圖用 AWS 那邊會看到的 10.0.0.0 當例子:

斜線後面的數字:前面幾格被固定住。四格 IP 每格算 8;/16 固定前兩格,範圍 10.0.0.0 到 10.0.255.255;/24 固定前三格,範圍 10.0.0.0 到 10.0.0.255;/32 四格全固定就是單一個 IP;/0 一格都不固定就是所有 IP;固定得越多範圍越小

圖裡多畫了兩個極端:/32 四格全固定,就是一個 IP;/0 一格都不固定,就是所有 IP。這篇實際只會用到 16 和 24

進 AWS 之後,我們會用一個比喻一路講下去:社區跟房間。整個網路是一個社區,社區裡切出來的一段號碼是一間房,房裡放機器。你家 /24 就是一間房的大小;AWS 社區開得比家裡大很多,用 /16,裡面可以切好幾間房。

對照就會像是這樣子:

寫法 白話 隨便填的格 可放幾個號碼
10.0.0.0/16 10.0.x.x,整個社區 兩格 256 × 256 = 65,536
10.0.254.0/24 10.0.254.x,社區裡的 254 號房 一格 256,AWS 自己扣 5 個 → 251
10.0.254.24 254 號房裡的一台機器 沒有 就這一台

社區、房間、機器:整個社區 10.0.x.x(/16)裡有 0 號房 10.0.0.x(/24)和 254 號房 10.0.254.x(/24);254 號房裡一排機器編號 23、24、25、26,其中 10.0.254.24 這台被標出來;x 代表這格隨便填

來練一下。現在有三台機器,號碼分別是 10.0.0.2410.0.254.2410.1.1.24,你能說出每一台在哪個社區、哪間房嗎?先自己想,再看圖:

三台機器各在哪裡:10.0.0.24 在 0 號房 10.0.0.0/24 裡;10.0.254.24 在 254 號房 10.0.254.0/24 裡;10.1.1.24 不在這個社區

10.0.0.24:前兩格 10.0 對,是這個社區的;第三格 0,在 0 號房;最後一格 24 是這台機器在房裡的號碼

10.0.254.24:一樣是這個社區,第三格 254,在 254 號房,也是房裡的 24 號機

10.1.1.24:第二格是 1 不是 0,這台根本不在這個社區

那要怎麼設計內部 or 外部 IP 呢?

明天一進 AWS,我們會介紹一個東西叫做 VPC,也就是 Virtual Private Cloud(中文為「虛擬私有雲

小結

  • 10. 開頭的私有網域。AWS 官方文件建議 VPC 從 RFC 1918(一份大家講好的網路規則)列的那三段私有位址裡挑,範例就是 10.0.0.0/16。而且別跟公司內部網路已經在用的段重疊,不然以後兩邊要接起來會容易衝突
  • 社區開大一點用 /16,房間切 /24。這樣一個社區可以切 256 間房,未來要加主機位置就比較輕鬆。

最後小結一下~

重點 記住這句
IP 電腦的位址,四格數字;同一個網路裡不能重複
內部 IP/公有 IP 家裡每台一個內部 IP,全家共用一個公有 IP;外面只看得到公有的那個,內部 IP 出了門就沒人認得
分享器 發內部 IP、決定往哪走、代表大家出門;決定資訊流往哪走
CIDR 10.0.x.x 這種一群號碼的正式寫法;斜線後的數字是固定幾格,:/16 整個社區、/24 一間房、第三格是房號;數字越大範圍越小

希望這篇讓你第一次看懂自己家的網路,我們下篇見 :D


上一篇
把允許(allow)加在最後有用嗎?移出群組就沒權限了嗎?
下一篇
兩個子網路長得一樣,為什麼只有一個能對外?
系列文
從前後端踏上 AWS 雲端架構勇者之路9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言